package com.xd.core.api.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.pagehelper.Page;
import com.xd.core.api.entity.ChannelPayTow;
import com.xd.core.business.dto.OutInfoDtoQuery;
import com.xd.core.business.vo.OutInsuranceRecordVo;
import com.xd.core.business.vo.OutRecordVo;
import com.xd.core.finance.dto.LendingRecordQueryDto;
import com.xd.core.finance.dto.PlatformRecordsDto;
import com.xd.core.finance.dto.PreDepositeQueryChannelTwoDto;
import com.xd.core.finance.vo.LendingRecordQueryVo;
import com.xd.core.finance.vo.PlatformRecordsVo;
import com.xd.core.finance.vo.PreDepositeQueryChannelTwoVo;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 渠道二代付信息表 Mapper 接口
 * </p>
 *
 * @author ZX
 * @since 2025-07-04
 */
public interface ChannelPayTowMapper extends BaseMapper<ChannelPayTow> {

    void updateVoucher(String orderNo, String virtualPath);

    Page<PreDepositeQueryChannelTwoVo> getReflectRecord(@Param("pre") PreDepositeQueryChannelTwoDto preDepositeQueryDto, @Param("companyId") Integer companyId);

    Page<LendingRecordQueryVo> getLendingRecords(@Param("dto") LendingRecordQueryDto dto,@Param("userIds") List<Integer> userIds,@Param("companyId") Integer companyId);

    BigDecimal getAllotAmount();

    List<OutInsuranceRecordVo> getOutOrderList(Integer incomingId);

    List<OutRecordVo> getList(OutInfoDtoQuery query);

    Page<PlatformRecordsVo> getPlatformRecords(@Param("dto") PlatformRecordsDto dto);
}
